package com.yxw.live_vod_facade.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author liuxin
 * @date 2023.09.13
 */
@Data
@ApiModel(value="LoginUserVo", description="登录用户详情")
public class UserInfoVo {

    @ApiModelProperty(value="主键")
    private Long userId;

    @ApiModelProperty(value="人员昵称")
    private String nickName;

    @ApiModelProperty(value="外部系统人员账号，id或者编码，用于外部交互")
    private String outUserAccount;

    @ApiModelProperty(value="外部人员昵称")
    private String outNickName;

    @ApiModelProperty(value="人员名称")
    private String userName;

    @ApiModelProperty(value="性别 0：女 1：男")
    private Integer sex;

    @ApiModelProperty(value="出生年月 yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty(value="账号状态 1：启用 0：禁用")
    private Integer status;

    @ApiModelProperty(value="头像路径")
    private String headUrl;

    @ApiModelProperty(value="视频号")
    private String liveCode;

    @ApiModelProperty(value="创建时间（注册时间）")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty(value="所属渠道ID")
    private Long channelId;

    @ApiModelProperty(value="所属渠道名称")
    private String channelName;

    @ApiModelProperty(value="所属渠道编码")
    private String channelCode;

    @ApiModelProperty(value="电话号码")
    private String phone;

    @ApiModelProperty(value="账号来源 0:接入注册  1：直播app注册")
    private Integer source;

    @JsonIgnore
    @ApiModelProperty(value="登录密码")
    private String pwd;

    @JsonIgnore
    @ApiModelProperty(value="支付密码")
    private String payPwd;
    @ApiModelProperty("token")
    private String token;

}
